export function operate(num1, num2, operator) { 
    // 先找这两个数字中哪个的小数点后面的位数比较多 
    // 将数字转成字符串 
    var newNum1 = num1 + '' 
    var newNum2 = num2 + '' 
    // 找数字中小数点的下标 
    var num1DotIndex = newNum1.indexOf('.') 
    var num2DotIndex = newNum2.indexOf('.') 
    // 判断是否这两个都是整数 
    if(num1DotIndex === -1 && num2DotIndex === -1) { 
        return eval(num1 + operator + num2) 
    }
    // 判断第一个数是否是整数 
    if(num1DotIndex === -1) { 
        var num2Suffix = newNum2.slice(num2DotIndex+1) 
        var max = num2Suffix.length 
    } else if(num2DotIndex === -1) { 
        // 判断第二个数是否是整数 
        var num1Suffix = newNum1.slice(num1DotIndex+1) 
        var max = num1Suffix.length 
    } else { 
        // 两个数都不是整数 
        // 将小数点后面的字符串截取出来 
        var num1Suffix = newNum1.slice(num1DotIndex+1) 
        var num2Suffix = newNum2.slice(num2DotIndex+1)
    // 判断哪个比较大 
        var max = num1Suffix.length 
        if(num1Suffix.length < num2Suffix.length) { 
            max = num2Suffix.length 
        } 
    }
    // 让这两个数字都乘以 10的max次方 - 变成整数了 
    var num1Zheng = num1 * Math.pow(10, max) 
    var num2Zheng = num2 * Math.pow(10, max) 
    switch(operator) { 
        case '+': 
        // 相加 
            var result = num1Zheng + num2Zheng 
        break 
        case '-': 
            var result = num1Zheng - num2Zheng 
        break 
        case '*': 
            var result = num1Zheng * num2Zheng 
        // 乘法两个数都扩大了10的max次方，相乘后10的max次方乘以了10的max次方，最终结果，应该除以两 个10的max次方 
            result /= Math.pow(10, max) 
        break 
        case '/': 
            var result = num1Zheng / num2Zheng 
            result = +result.toFixed(2) 
        break 
        default: 
            throw new Error('请输入正确的运算符') 
    }
    // 再将结果除以10的max次方 
    return result / Math.pow(10, max) 
}